Skip to content

feat(codspeed): collect Rust toolchain environment at build time#171

Open
GuillaumeLagrange wants to merge 1 commit intomainfrom
cod-2415-implement-toolchain-harvesting-for-rust
Open

feat(codspeed): collect Rust toolchain environment at build time#171
GuillaumeLagrange wants to merge 1 commit intomainfrom
cod-2415-implement-toolchain-harvesting-for-rust

Conversation

@GuillaumeLagrange
Copy link
Copy Markdown
Contributor

Capture rustc and cargo version information during compilation via build.rs and register it through the instrument-hooks environment API at runtime. This enables tracking which toolchain was used to compile benchmarks.

  • Update instrument-hooks submodule to get set_environment/write_environment API
  • Regenerate FFI bindings for new environment functions
  • Add set_environment/write_environment wrappers to InstrumentHooks
  • Collect rustc (version, host, release, LLVM version) and cargo version at build time via env vars, register them during InstrumentHooks init
  • Always initialize InstrumentHooks (even in Valgrind mode) for env collection

Generated with AI Agent (Claude Code)

Capture rustc and cargo version information during compilation via
build.rs and register it through the instrument-hooks environment API
at runtime. This enables tracking which toolchain was used to compile
benchmarks.

- Update instrument-hooks submodule to get set_environment/write_environment API
- Regenerate FFI bindings for new environment functions
- Add set_environment/write_environment wrappers to InstrumentHooks
- Collect rustc (version, host, release, LLVM version) and cargo version
  at build time via env vars, register them during InstrumentHooks init
- Always initialize InstrumentHooks (even in Valgrind mode) for env collection

Generated with AI Agent (Claude Code)
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Mar 27, 2026

Merging this PR will degrade performance by 88.24%

⚡ 24 improved benchmarks
❌ 15 regressed benchmarks
✅ 536 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime iter_batched_large_input 44 ns 40 ns +10%
WallTime iter_batched_ref_large_input 44 ns 48 ns -8.33%
WallTime iter_with_setup 44 ns 40 ns +10%
WallTime recursive_memoized[BTreeMap<u64, u64>, 0] 14 ns 119 ns -88.24%
WallTime string_copy_with_bytes_counter 56 ns 58 ns -3.45%
WallTime hamiltonian_cycle[5] 908 ns 860 ns +5.58%
WallTime slice_into_vec_with_bytes 94 ns 56 ns +67.86%
WallTime fib_in_thread_bench[30] 7 ms 6.5 ms +8.99%
WallTime fib_in_thread[30] 7 ms 6.5 ms +8.89%
WallTime bench_array2[42] 51 ns 47 ns +8.51%
WallTime fib_in_thread[32] 17.8 ms 16.3 ms +9.31%
WallTime fib_10 413 ns 386 ns +6.99%
WallTime bench_array2[10] 29 ns 9 ns ×3.2
WallTime fib_in_thread_bench_local[31] 11.1 ms 10.2 ms +9.04%
WallTime fib_in_thread_bench[31] 11.1 ms 10.2 ms +8.84%
WallTime fibo_10 2 ns 1 ns ×2
WallTime fib_in_thread_bench_local[32] 17.8 ms 16.3 ms +9.32%
WallTime fib_in_thread[31] 11.2 ms 10.2 ms +9.23%
WallTime bench_array1[10] 9 ns 11 ns -18.18%
WallTime fib_in_thread_bench_local[30] 7 ms 6.5 ms +8.97%
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.


Comparing cod-2415-implement-toolchain-harvesting-for-rust (1e71589) with main (dccf5f4)

Open in CodSpeed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant